import { OptionRuleConfig } from '@/views/createGame/generator.ts';
// BOConfig
export interface BOConfig {
    chooseMap: boolean,
    banMap: boolean,
    hunterBanNumber: boolean[]
    survivorBanNumber: boolean[]
}
interface RuleOptions {
    [key: string]: OptionRuleConfig[]
}
export interface BOStepConfig {
    [key: string]: BOConfig
}
export const normalRules: RuleOptions = {
    'bo1': [
        {
            id: '1',
            title: '禁用2个求生',
            task: 'ban',
            excuteNumber: 2,
            excutor: 'hunter',
            bindKey: ['banSur1', 'banSur2'],
            taskSeniar: 1,
            optionsKey: 'surHalf',
            componentType: 'select',
            isInGlobalBan: false,
        },
        {
            id: '2',
            title: `禁用0个监管`,
            task: 'ban',
            excuteNumber: 0,
            bindKey: [],
            excutor: 'survivor',
            taskSeniar: 2,
            optionsKey: 'hunHalf',
            componentType: 'select',
            isInGlobalBan: false,
        },
        {
            id: '3',
            title: `选取2个求生`,
            task: 'pick',
            excuteNumber: 2,
            excutor: 'survivor',
            bindKey: ['pickSur1', 'pickSur2'],
            taskSeniar: 3,
            optionsKey: 'surHalf',
            isInGlobalBan: true,
            showWaitAnimation: ['sur1', 'sur2'],
            componentType: 'select'
        },
        {
            id: '4',
            title: `禁用1个求生`,
            task: 'ban',
            excuteNumber: 1,
            bindKey: ['banSur3'],
            excutor: 'hunter',
            taskSeniar: 4,
            optionsKey: 'surHalf',
            componentType: 'select',
            isInGlobalBan: false
        },
        {
            id: '5',
            title: `选取1个求生`,
            task: 'pick',
            excuteNumber: 1,
            bindKey: ['pickSur3'],
            excutor: 'survivor',
            taskSeniar: 5,
            optionsKey: 'surHalf',
            isInGlobalBan: true,
            showWaitAnimation: ['sur3'],
            componentType: 'select'
        },
        {
            id: '6',
            title: `禁用1个求生`,
            task: 'ban',
            excuteNumber: 1,
            bindKey: ['banSur4'],
            excutor: 'hunter',
            taskSeniar: 6,
            optionsKey: 'surHalf',
            componentType: 'select',
            isInGlobalBan: false
        },
        {
            id: '7',  //步骤id
            title: `选取1个求生`, //步骤名称
            task: 'pick',  //选取 or 禁用
            excuteNumber: 1, //执行角色数量
            bindKey: ['pickSur4'], //双向绑定key
            excutor: 'survivor',  //执行阵营 -监管\求生
            taskSeniar: 7,   //执行序号
            optionsKey: 'surHalf',  //下拉框options
            showWaitAnimation: ['sur4'],  //执行等待动画key
            componentType: 'select',
            isInGlobalBan: false
        },
        {
            id: '8',  //步骤id
            title: `求生者选择天赋`, //步骤名称
            task: 'pick',  //选取 or 禁用
            excuteNumber: 1, //执行角色数量
            bindKey: [], //双向绑定key
            excutor: 'survivor',  //执行阵营 -监管\求生
            showWaitAnimation: ['hun'],
            taskSeniar: 8,   //执行序号
            optionsKey: 'surHalf',  //下拉框options,
            componentType: 'talent-sur',
            isInGlobalBan: false,
        },
        {
            id: '9',
            title: `选取1个监管`,
            task: 'pick',
            excuteNumber: 1,
            bindKey: ['pickHun'],
            excutor: 'hunter',
            taskSeniar: 9,
            optionsKey: 'hunHalf',
            isInGlobalBan: true,
            showWaitAnimation: ['hun'],
            componentType: 'select'
        },
        {
            id: '10',
            title: `监管者选择天赋`,
            task: 'pick',
            excuteNumber: 1,
            bindKey: [],
            excutor: 'hunter',
            taskSeniar: 10,
            optionsKey: 'hunHalf',
            componentType: 'talent-hun',
            isInGlobalBan: false
        }
    ],
    'bo2': [
        {
            id: '1',
            title: '禁用2个求生',
            task: 'ban',
            excuteNumber: 2,
            excutor: 'hunter',
            bindKey: ['banSur1', 'banSur2'],
            taskSeniar: 1,
            optionsKey: 'surHalf',
            componentType: 'select',
            isInGlobalBan: false
        },
        {
            id: '2',
            title: `禁用1个监管`,
            task: 'ban',
            excuteNumber: 1,
            bindKey: ['banHun1'],
            excutor: 'survivor',
            taskSeniar: 2,
            optionsKey: 'hunHalf',
            componentType: 'select',
            isInGlobalBan: false
        },
        {
            id: '3',
            title: `选取2个求生`,
            task: 'pick',
            excuteNumber: 2,
            excutor: 'survivor',
            bindKey: ['pickSur1', 'pickSur2'],
            taskSeniar: 3,
            optionsKey: 'surHalf',
            isInGlobalBan: true,
            showWaitAnimation: ['sur1', 'sur2'],
            componentType: 'select'
        },
        {
            id: '4',
            title: `禁用1个求生`,
            task: 'ban',
            excuteNumber: 1,
            bindKey: ['banSur3'],
            excutor: 'hunter',
            taskSeniar: 4,
            optionsKey: 'surHalf',
            componentType: 'select',
            isInGlobalBan: false
        },
        {
            id: '5',
            title: `选取1个求生`,
            task: 'pick',
            excuteNumber: 1,
            bindKey: ['pickSur3'],
            excutor: 'survivor',
            taskSeniar: 5,
            optionsKey: 'surHalf',
            isInGlobalBan: true,
            showWaitAnimation: ['sur3'],
            componentType: 'select'
        },
        {
            id: '6',
            title: `禁用1个求生`,
            task: 'ban',
            excuteNumber: 1,
            bindKey: ['banSur4'],
            excutor: 'hunter',
            taskSeniar: 6,
            optionsKey: 'surHalf',
            componentType: 'select',
            isInGlobalBan: false
        },
        {
            id: '7',  //步骤id
            title: `选取1个求生`, //步骤名称
            task: 'pick',  //选取 or 禁用
            excuteNumber: 1, //执行角色数量
            bindKey: ['pickSur4'], //双向绑定key
            excutor: 'survivor',  //执行阵营 -监管\求生
            taskSeniar: 7,   //执行序号
            optionsKey: 'surHalf',  //下拉框options
            showWaitAnimation: ['sur4'],  //执行等待动画key
            componentType: 'select',
            isInGlobalBan: false
        },
        {
            id: '8',  //步骤id
            title: `求生者选择天赋`, //步骤名称
            task: 'pick',  //选取 or 禁用
            excuteNumber: 1, //执行角色数量
            bindKey: [], //双向绑定key
            excutor: 'survivor',  //执行阵营 -监管\求生
            showWaitAnimation: ['hun'],
            taskSeniar: 8,   //执行序号
            optionsKey: 'surHalf',  //下拉框options,
            componentType: 'talent-sur',
            isInGlobalBan: false
        },
        {
            id: '9',
            title: `选取1个监管`,
            task: 'pick',
            excuteNumber: 1,
            bindKey: ['pickHun'],
            excutor: 'hunter',
            taskSeniar: 9,
            optionsKey: 'hunHalf',
            isInGlobalBan: true,
            showWaitAnimation: ['hun'],
            componentType: 'select'
        },
        {
            id: '10',
            title: `监管者选择天赋`,
            task: 'pick',
            excuteNumber: 1,
            bindKey: [],
            excutor: 'hunter',
            taskSeniar: 10,
            optionsKey: 'hunHalf',
            componentType: 'talent-hun',
            isInGlobalBan: false
        }
    ],
    'bo3': [
        {
            id: '1',
            title: '禁用2个求生',
            task: 'ban',
            excuteNumber: 2,
            excutor: 'hunter',
            bindKey: ['banSur1', 'banSur2'],
            taskSeniar: 1,
            optionsKey: 'surHalf',
            componentType: 'select',
            isInGlobalBan: false
        },
        {
            id: '2',
            title: `禁用2个监管`,
            task: 'ban',
            excuteNumber: 2,
            bindKey: ['banHun1', 'banHun2'],
            excutor: 'survivor',
            taskSeniar: 2,
            optionsKey: 'hunHalf',
            componentType: 'select',
            isInGlobalBan: false
        },
        {
            id: '3',
            title: `选取2个求生`,
            task: 'pick',
            excuteNumber: 2,
            excutor: 'survivor',
            bindKey: ['pickSur1', 'pickSur2'],
            taskSeniar: 3,
            optionsKey: 'surHalf',
            isInGlobalBan: true,
            showWaitAnimation: ['sur1', 'sur2'],
            componentType: 'select'
        },
        {
            id: '4',
            title: `禁用1个求生`,
            task: 'ban',
            excuteNumber: 1,
            bindKey: ['banSur3'],
            excutor: 'hunter',
            taskSeniar: 4,
            optionsKey: 'surHalf',
            componentType: 'select',
            isInGlobalBan: false
        },
        {
            id: '5',
            title: `选取1个求生`,
            task: 'pick',
            excuteNumber: 1,
            bindKey: ['pickSur3'],
            excutor: 'survivor',
            taskSeniar: 5,
            optionsKey: 'surHalf',
            isInGlobalBan: true,
            showWaitAnimation: ['sur3'],
            componentType: 'select'
        },
        {
            id: '6',
            title: `禁用1个求生`,
            task: 'ban',
            excuteNumber: 1,
            bindKey: ['banSur4'],
            excutor: 'hunter',
            taskSeniar: 6,
            optionsKey: 'surHalf',
            componentType: 'select',
            isInGlobalBan: false
        },
        {
            id: '7',  //步骤id
            title: `选取1个求生`, //步骤名称
            task: 'pick',  //选取 or 禁用
            excuteNumber: 1, //执行角色数量
            bindKey: ['pickSur4'], //双向绑定key
            excutor: 'survivor',  //执行阵营 -监管\求生
            taskSeniar: 7,   //执行序号
            optionsKey: 'surHalf',  //下拉框options
            showWaitAnimation: ['sur4'],  //执行等待动画key
            componentType: 'select',
            isInGlobalBan: false
        },
        {
            id: '8',  //步骤id
            title: `求生者选择天赋`, //步骤名称
            task: 'pick',  //选取 or 禁用
            excuteNumber: 1, //执行角色数量
            bindKey: [], //双向绑定key
            excutor: 'survivor',  //执行阵营 -监管\求生
            showWaitAnimation: ['hun'],
            taskSeniar: 8,   //执行序号
            optionsKey: 'surHalf',  //下拉框options,
            componentType: 'talent-sur',
            isInGlobalBan: false
        },
        {
            id: '9',
            title: `选取1个监管`,
            task: 'pick',
            excuteNumber: 1,
            bindKey: ['pickHun'],
            excutor: 'hunter',
            taskSeniar: 9,
            optionsKey: 'hunHalf',
            isInGlobalBan: true,
            showWaitAnimation: ['hun'],
            componentType: 'select'
        },
        {
            id: '10',
            title: `监管者选择天赋`,
            task: 'pick',
            excuteNumber: 1,
            bindKey: [],
            excutor: 'hunter',
            taskSeniar: 10,
            optionsKey: 'hunHalf',
            componentType: 'talent-hun',
            isInGlobalBan: false
        }
    ],
    'bo4': [
        {
            id: '1',
            title: '禁用2个求生',
            task: 'ban',
            excuteNumber: 2,
            excutor: 'hunter',
            bindKey: ['banSur1', 'banSur2'],
            taskSeniar: 1,
            optionsKey: 'surHalf',
            componentType: 'select',
            isInGlobalBan: false
        },
        {
            id: '2',
            title: `禁用2个监管`,
            task: 'ban',
            excuteNumber: 2,
            bindKey: ['banHun1', 'banHun2'],
            excutor: 'survivor',
            taskSeniar: 2,
            optionsKey: 'hunHalf',
            componentType: 'select',
            isInGlobalBan: false
        },
        {
            id: '3',
            title: `选取2个求生`,
            task: 'pick',
            excuteNumber: 2,
            excutor: 'survivor',
            bindKey: ['pickSur1', 'pickSur2'],
            taskSeniar: 3,
            optionsKey: 'surHalf',
            showWaitAnimation: ['sur1', 'sur2'],
            componentType: 'select',
            isInGlobalBan: false
        },
        {
            id: '4',
            title: `禁用1个求生`,
            task: 'ban',
            excuteNumber: 1,
            bindKey: ['banSur3'],
            excutor: 'hunter',
            taskSeniar: 4,
            optionsKey: 'surHalf',
            componentType: 'select',
            isInGlobalBan: false
        },
        {
            id: '5',
            title: `选取1个求生`,
            task: 'pick',
            excuteNumber: 1,
            bindKey: ['pickSur3'],
            excutor: 'survivor',
            taskSeniar: 5,
            optionsKey: 'surHalf',
            showWaitAnimation: ['sur3'],
            componentType: 'select',
            isInGlobalBan: false
        },
        {
            id: '6',
            title: `禁用1个求生`,
            task: 'ban',
            excuteNumber: 1,
            bindKey: ['banSur4'],
            excutor: 'hunter',
            taskSeniar: 6,
            optionsKey: 'surHalf',
            componentType: 'select',
            isInGlobalBan: false
        },
        {
            id: '7',  //步骤id
            title: `选取1个求生`, //步骤名称
            task: 'pick',  //选取 or 禁用
            excuteNumber: 1, //执行角色数量
            bindKey: ['pickSur4'], //双向绑定key
            excutor: 'survivor',  //执行阵营 -监管\求生
            taskSeniar: 7,   //执行序号
            optionsKey: 'surHalf',  //下拉框options
            showWaitAnimation: ['sur4'],  //执行等待动画key
            componentType: 'select',
            isInGlobalBan: false
        },
        {
            id: '8',  //步骤id
            title: `求生者选择天赋`, //步骤名称
            task: 'pick',  //选取 or 禁用
            excuteNumber: 1, //执行角色数量
            bindKey: [], //双向绑定key
            excutor: 'survivor',  //执行阵营 -监管\求生
            showWaitAnimation: ['hun'],
            taskSeniar: 8,   //执行序号
            optionsKey: 'surHalf',  //下拉框options,
            componentType: 'talent-sur',
            isInGlobalBan: false
        },
        {
            id: '9',
            title: `选取1个监管`,
            task: 'pick',
            excuteNumber: 1,
            bindKey: ['pickHun'],
            excutor: 'hunter',
            taskSeniar: 9,
            optionsKey: 'hunHalf',
            showWaitAnimation: ['hun'],
            componentType: 'select',
            isInGlobalBan: false
        },
        {
            id: '10',
            title: `监管者选择天赋`,
            task: 'pick',
            excuteNumber: 1,
            bindKey: [],
            excutor: 'hunter',
            taskSeniar: 10,
            optionsKey: 'hunHalf',
            componentType: 'talent-hun',
            isInGlobalBan: false
        }
    ],
    'bo5': [
        {
            id: '1',
            title: '禁用2个求生',
            task: 'ban',
            excuteNumber: 2,
            excutor: 'hunter',
            bindKey: ['banSur1', 'banSur2'],
            taskSeniar: 1,
            optionsKey: 'surHalf',
            componentType: 'select',
            isInGlobalBan: false
        },
        {
            id: '2',
            title: `禁用2个监管`,
            task: 'ban',
            excuteNumber: 2,
            bindKey: ['banHun1', 'banHun2'],
            excutor: 'survivor',
            taskSeniar: 2,
            optionsKey: 'hunHalf',
            componentType: 'select',
            isInGlobalBan: false
        },
        {
            id: '3',
            title: `选取2个求生`,
            task: 'pick',
            excuteNumber: 2,
            excutor: 'survivor',
            bindKey: ['pickSur1', 'pickSur2'],
            taskSeniar: 3,
            optionsKey: 'surHalf',
            showWaitAnimation: ['sur1', 'sur2'],
            componentType: 'select',
            isInGlobalBan: false
        },
        {
            id: '4',
            title: `禁用1个求生`,
            task: 'ban',
            excuteNumber: 1,
            bindKey: ['banSur3'],
            excutor: 'hunter',
            taskSeniar: 4,
            optionsKey: 'surHalf',
            componentType: 'select',
            isInGlobalBan: false
        },
        {
            id: '5',
            title: `选取1个求生`,
            task: 'pick',
            excuteNumber: 1,
            bindKey: ['pickSur3'],
            excutor: 'survivor',
            taskSeniar: 5,
            optionsKey: 'surHalf',
            showWaitAnimation: ['sur3'],
            componentType: 'select',
            isInGlobalBan: false
        },
        {
            id: '6',
            title: `禁用1个求生`,
            task: 'ban',
            excuteNumber: 1,
            bindKey: ['banSur4'],
            excutor: 'hunter',
            taskSeniar: 6,
            optionsKey: 'surHalf',
            componentType: 'select',
            isInGlobalBan: false
        },
        {
            id: '7',  //步骤id
            title: `选取1个求生`, //步骤名称
            task: 'pick',  //选取 or 禁用
            excuteNumber: 1, //执行角色数量
            bindKey: ['pickSur4'], //双向绑定key
            excutor: 'survivor',  //执行阵营 -监管\求生
            taskSeniar: 7,   //执行序号
            optionsKey: 'surHalf',  //下拉框options
            showWaitAnimation: ['sur4'],  //执行等待动画key
            componentType: 'select',
            isInGlobalBan: false
        },
        {
            id: '8',  //步骤id
            title: `求生者选择天赋`, //步骤名称
            task: 'pick',  //选取 or 禁用
            excuteNumber: 1, //执行角色数量
            bindKey: [], //双向绑定key
            excutor: 'survivor',  //执行阵营 -监管\求生
            showWaitAnimation: ['hun'],
            taskSeniar: 8,   //执行序号
            optionsKey: 'surHalf',  //下拉框options,
            componentType: 'talent-sur',
            isInGlobalBan: false
        },
        {
            id: '9',
            title: `选取1个监管`,
            task: 'pick',
            excuteNumber: 1,
            bindKey: ['pickHun'],
            excutor: 'hunter',
            taskSeniar: 9,
            optionsKey: 'hunHalf',
            showWaitAnimation: ['hun'],
            componentType: 'select',
            isInGlobalBan: false
        },
        {
            id: '10',
            title: `监管者选择天赋`,
            task: 'pick',
            excuteNumber: 1,
            bindKey: [],
            excutor: 'hunter',
            taskSeniar: 10,
            optionsKey: 'hunHalf',
            componentType: 'talent-hun',
            isInGlobalBan: false
        }
    ],
    'bo5加赛': [
        {
            id: '1',
            title: '禁用2个求生',
            task: 'ban',
            excuteNumber: 2,
            excutor: 'hunter',
            bindKey: ['banSur1', 'banSur2'],
            taskSeniar: 1,
            optionsKey: 'surHalf',
            componentType: 'select',
            isInGlobalBan: false
        },
        {
            id: '2',
            title: `禁用2个监管`,
            task: 'ban',
            excuteNumber: 2,
            bindKey: ['banHun1', 'banHun2'],
            excutor: 'survivor',
            taskSeniar: 2,
            optionsKey: 'hunHalf',
            componentType: 'select',
            isInGlobalBan: false
        },
        {
            id: '3',
            title: `选取2个求生`,
            task: 'pick',
            excuteNumber: 2,
            excutor: 'survivor',
            bindKey: ['pickSur1', 'pickSur2'],
            taskSeniar: 3,
            optionsKey: 'surHalf',
            showWaitAnimation: ['sur1', 'sur2'],
            componentType: 'select',
            isInGlobalBan: false
        },
        {
            id: '4',
            title: `禁用1个求生`,
            task: 'ban',
            excuteNumber: 1,
            bindKey: ['banSur3'],
            excutor: 'hunter',
            taskSeniar: 4,
            optionsKey: 'surHalf',
            componentType: 'select',
            isInGlobalBan: false
        },
        {
            id: '5',
            title: `选取1个求生`,
            task: 'pick',
            excuteNumber: 1,
            bindKey: ['pickSur3'],
            excutor: 'survivor',
            taskSeniar: 5,
            optionsKey: 'surHalf',
            showWaitAnimation: ['sur3'],
            componentType: 'select',
            isInGlobalBan: false
        },
        {
            id: '6',
            title: `禁用1个求生`,
            task: 'ban',
            excuteNumber: 1,
            bindKey: ['banSur4'],
            excutor: 'hunter',
            taskSeniar: 6,
            optionsKey: 'surHalf',
            componentType: 'select',
            isInGlobalBan: false
        },
        {
            id: '7',  //步骤id
            title: `选取1个求生`, //步骤名称
            task: 'pick',  //选取 or 禁用
            excuteNumber: 1, //执行角色数量
            bindKey: ['pickSur4'], //双向绑定key
            excutor: 'survivor',  //执行阵营 -监管\求生
            taskSeniar: 7,   //执行序号
            optionsKey: 'surHalf',  //下拉框options
            showWaitAnimation: ['sur4'],  //执行等待动画key
            componentType: 'select',
            isInGlobalBan: false
        },
        {
            id: '8',  //步骤id
            title: `求生者选择天赋`, //步骤名称
            task: 'pick',  //选取 or 禁用
            excuteNumber: 1, //执行角色数量
            bindKey: [], //双向绑定key
            excutor: 'survivor',  //执行阵营 -监管\求生
            showWaitAnimation: ['hun'],
            taskSeniar: 8,   //执行序号
            optionsKey: 'surHalf',  //下拉框options,
            componentType: 'talent-sur',
            isInGlobalBan: false
        },
        {
            id: '9',
            title: `选取1个监管`,
            task: 'pick',
            excuteNumber: 1,
            bindKey: ['pickHun'],
            excutor: 'hunter',
            taskSeniar: 9,
            optionsKey: 'hunHalf',
            showWaitAnimation: ['hun'],
            componentType: 'select',
            isInGlobalBan: false
        },
        {
            id: '10',
            title: `监管者选择天赋`,
            task: 'pick',
            excuteNumber: 1,
            bindKey: [],
            excutor: 'hunter',
            taskSeniar: 10,
            optionsKey: 'hunHalf',
            componentType: 'talent-hun',
            isInGlobalBan: false
        }
    ]
}
export const normalStepConfig: BOStepConfig = {
    'bo1': {
        chooseMap: true,
        banMap: true,
        hunterBanNumber: [true, true, true],
        survivorBanNumber: [false, false, false, false]

    },
    'bo2': {
        chooseMap: true,
        banMap: true,
        hunterBanNumber: [false, true, true],
        survivorBanNumber: [false, false, false, false]
    },
    'bo3': {
        chooseMap: true,
        banMap: false,
        hunterBanNumber: [false, false, true],
        survivorBanNumber: [false, false, false, false]
    },
    'bo4': {
        chooseMap: true,
        banMap: false,
        hunterBanNumber: [false, false, true],
        survivorBanNumber: [false, false, false, false]
    },
    'bo5': {
        chooseMap: true,
        banMap: false,
        hunterBanNumber: [false, false, true],
        survivorBanNumber: [false, false, false, false]
    },
    'bo5加赛': {
        chooseMap: true,
        banMap: false,
        hunterBanNumber: [false, false, true],
        survivorBanNumber: [false, false, false, false]
    }
}
export const ruleTaskOptions = [
    {
        label: '选取',
        value: 'pick'
    },
    {
        label: '禁用',
        value: 'ban'
    }
]

export const bindKeyOptions = [
    {
        label: '选取求生者一',
        value: 'pickSur1',
    },
    {
        label: '选取求生者二',
        value: 'pickSur2',
    },
    {
        label: '选取求生者三',
        value: 'pickSur3',
    },
    {
        label: '选取求生者四',
        value: 'pickSur4',
    },
    {
        label: '选取监管者',
        value: 'pickHun',
    }
]

export const componentTypeOptions = [
    {
        label: '下拉框选择/禁用角色',
        value: 'select'
    },
    {
        label: '求生者天赋选择',
        value: 'talent-sur'
    },
    {
        label: '监管者天赋选择',
        value: 'talent-hun'
    }
]

export const optionsKeyOptions = [
    {
        label: '求生者选择列表',
        value: 'surHalf'
    },
    {
        label: '监管者选择列表',
        value: 'hunHalf'
    }
]

export const excutorOptions = [
    {
        label: '监管者',
        value: 'hunter'
    },
    {
        label: '求生者',
        value: 'survivor'
    }
]

export const showAnimationOptions = [
    {
        label: '求生者1',
        value: 'sur1'
    },
    {
        label: '求生者2',
        value: 'sur2'
    },
    {
        label: '求生者3',
        value: 'sur3'
    },
    {
        label: '求生者4',
        value: 'sur4'
    },
    {
        label: '监管者',
        value: 'hun'
    }
]